﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;

namespace ASPMVC
{
    public class Project
    {            
        public Application application;

        public List<Controller> controllers = new List<Controller>();
        public List<Scaffold> scaffolds = new List<Scaffold>();
        public List<Model> models = new List<Model>();
    }

    public class Application
    {
        public String name = "";
        public String version = "";
        public String author = "";
        public String description = "";
    }

    public class Controller
    {
        public String name = "";
        public String description = "";
        public List<Attribute> attributes = new List<Attribute>();
        public List<Function> functions = new List<Function>();
        public List<View> views = new List<View>();
    }

    public class Model
    {
        public String name = "";
        public String description = "";
        public List<Attribute> attributes = new List<Attribute>();
        public List<Function> functions = new List<Function>();        
    }

    public class Scaffold
    {
        public String name = "";
        public String description = "";
        public List<Attribute> attributes = new List<Attribute>();
        public List<Function> functions = new List<Function>();
        public List<View> views = new List<View>();
    }

    //----------------------------------------------------
    public class Attribute
    {
        public String name = "";
        public String type = "";
        public String notnull = "";
        public String description = "";
    }
    public class Function
    {
        public String name = "";
        public String title = "";
        public String description = "";
    }
    public class View
    {
        public String name;
        public String title;
        public String description;
    }
}
